#include<stdio.h>
double P(unsigned int n,double x);
void Q(unsigned int n,double x);
int main(){
	unsigned int n;
	double x;
	scanf("%d %lf",&n,&x);
	Q(n,x);
	return 0;
}  
double P(unsigned int n,double x){
	double a;
	if(n==0) 
		a=1;
	else if (n==1)
		a=x;
		else 
			a=((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/(n*1.0);
	return a; 
/*switch(n){
		case 0:a=1;break;
		case 1:a=x;break;
		default:a=((2*n-1)*x*P(n-1,x)-(n-1)*P(n-2,x))/(n*1.0);
		return a; 
	}*/
}
void Q(unsigned int n,double x){
	n+=1;
	do{
		n--;
		printf("n%u : %lf\n",n,P(n,x));
	}while (n>0);
}

